1. Field of the Invention
The present invention relates to an apparatus and method for detecting a face.
2. Description of the Related Art
Devices such as embedded robots, mobile telephones and (PDAs), which have low-capacity memories and low-level processors, require algorithms to efficiently and precisely detect a face in a digital image.
Faces have various sizes, positions and angles in images and illumination radiated onto the faces may vary, so it is difficult to precisely detect a face in a digital image. For example, by changing a camera's angle face detection is hindered by a consequent change in a face's angle caused by a change in a camera angle. Moreover, a change in a face's pose (e.g., a frontal face, a 45-degree rotated face and a side view of a face), a hidden face, change in facial expression, change in lighting, etc., can also hinder a face's detection.
A feature-based face detection scheme is typically used for detecting unchangeable features such as the eyes, nose mouth of a face as well as the face's complexion. Particularly, since the complexion is less susceptible to a face's movement, rotation and change in size, schemes of detecting a face by using the complexion are widely employed.
In addition, according to a template-based face detection scheme, several patterns for faces are constructed and stored to be used at a later time to detect faces. After this, the patterns are compared with an image in an image search window on a one-by-one basis, thereby detecting a face.
Recently, a support-vector-machine-based (SVM-based) face detection scheme has been widely used. According to the SVM-based face detection scheme, different regions are sub-sampled from an image, a face and a non-face (i.e., a portion which is not included in a face) are learned through a learning device, and then a face is detected from an input image.
However, the feature-based face detection scheme is inefficient, because of color and contrast changes when the spectrum of light is significantly changed.
Also, the template-based face detection scheme has an advantage in that required calculations are simple, but has a disadvantage in that it is susceptible to errors and miscalculation caused by a face's rotation and size being changed, changes in lighting, and changes in image noise. In addition, according to the template-based face detection scheme, in order to detect faces of various sizes, it is necessary to gradually reduce the size of an input image step-by-step to match the sizes of templates, thereby requiring a very long processing period.
Although the SVM-based face detection scheme provides a satisfactory detection rate, as the number of learned databases and the dimension of a support vector resulting from learning increases, the necessary number of stored databases increases, along with matching time, so this scheme is not suitable for real-time processing. In addition, for example, when a face image having a size of “32×32” is used for learning, this is converted into a vector of 1024 dimensions. In this case, when 100 support vectors are extracted, comparison operations of 1024×1024×100 times are required for one image having the same size of “32×32” newly-input for matching. Therefore, the SVM-based face detection scheme is inefficient in view of time when an image has a large size and many face candidate regions exist in the image. Moreover, the SVM-based face detection scheme is not suitable for an apparatus having a low-capacity memory because 1024×100 support vectors must have been stored in a storage database (DB).